
#ifndef PHYSICHANDLER_H
#define PHYSICHANDLER_H

#include <NxOgre.h>
#include <Critter.h>
#include "OgreInitializeSettings.h"


class PhysicHandler {

private:	
	
	//attribute 
	
	NxOgre::World* lWorld;
	NxOgre::Scene* lScene;
	Critter::RenderSystem* lRenderSystem;

	OgreInitializeSettings* ogre_init_settings;

	
	
	//methods
public:

	PhysicHandler ();
	PhysicHandler (OgreInitializeSettings* initsettings);
	~PhysicHandler();

	//init_methods

	void init(Ogre::SceneManager* ogrescene);
	void update(unsigned long etime);

	//manual methods

	NxOgre::Quat pitch(NxOgre::Quat in,float degrees);
	NxOgre::Quat roll(NxOgre::Quat in,float degrees);
	NxOgre::Quat yaw(NxOgre::Quat in,float degrees);
	NxOgre::Quat setOrientation(NxOgre::Vec3 degrees);


	//test_methods

	void initTestScene();
private:

	//init_methods

	void initNull();
	void initBasic(Ogre::SceneManager* ogrescene);

};

#endif